<?php
/* 
    处理用户注册：
        业务逻辑
        1.获取注册单上的用户信息
        2.调用数据层的响应方法：select_user()方法判断用户名是否存在
        3.调用数据层的响应方法：add_user()进行用户注册
        3.注册成功后跳转到登录面，失败跳转到error.php
    */
require "../model/userDao.php";
if ($_SERVER['REQUEST_METHOD'] === "POST") {
    $uname = $_POST['uName'];
    $upass = $_POST['uPass'];
    $gender = $_POST['gender'];
    
    $user = select_user($uname);
    
    /* 判断用户名是否存在 */
    if (count($user) > 0) {
        # 说明用户名已存在
        header("location:../views/error.php?msg=用户名已存在");
    } else {
        # 用户名不存在
        $head = headUpload($_FILES['head']);
        $result = add_user($uname, $upass, $head, $gender);
        /* 进行注册 */
        if ($result == 1) {
            # 登录成功，跳转到登录
            header("location:../views/login.php");
        } else {
            #登录失败，跳转到error.php
            header("location:../views/error.php?msg=注册失败");
        }
    }

} else {
    header('location:../views/error.php?msg=非法访问');
}
/**
 * 将头像保存到image/head文件中，返回文件名
 * @param mixed $head 头像图片对象
 */
function headUpload($head){
    //图片暂存路径
    $headimgTmpName = $head["tmp_name"];
    //图片保存路径
    $headimgDestination=time() . uniqid() . $head["name"];
    if (move_uploaded_file($headimgTmpName, "../image/head/" . $headimgDestination)) {
        echo $headimgDestination;
            return $headimgDestination;
        } else {
                header('location:../views/error.php?msg=头像上传失败');
                die();
        }
}
?>